<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      Array.prototype._reduce = function (fn) {
        if (typeof fn !== 'function') return
        let prev = this[0]
        for (let i = 0; i < this.length - 1; i++) {
          next = this[i + 1]
          prev = fn(prev, next)
        }
        return prev
      }
      console.log([1, 2, 3, 4]._reduce((left, right) => left + right))
    </script>
  </body>
</html>
